01 API externa

Próxima Atividade
  • Sugerir melhoria
Play
Current Time 0:00
/
Duration Time 0:00
Remaining Time -0:00
Stream TypeLIVE
Loaded: 0%
Progress: 0%
0:00
Fullscreen
00:00
Mute
Playback Rate
  • 2x
  • 1.5x
  • 1.2x
  • 1x
  • 0.8x
  • 0.7x
1x
Subtitles
  • subtitles off
Captions
  • captions off
Chapters
  • Chapters
HD

Transcrição

Começando deste ponto? Você pode fazer o download completo do projeto do capítulo anterior e continuar seus estudos a partir deste capítulo.

É muito comum aplicações acessarem API's de terceiros, com nossa aplicação não será diferente. Temos um servidor escrito em Node.js que disponibilizará a API que consumiremos e ele pode ser baixado aqui. Após descompactar o arquivo, teremos a pasta api. Como levantar o servidor?

Basta abrirmos outro terminal (um é para o nosso lite-server outro para o servidor da API) e dentro da pasta api executarmos o comando:

npm start

Através do endereço http://localhost:8080/dados temos acesso a um JSON com a seguinte estrutura:

[{"montante":200.5,"vezes":2},{"montante":100.2,"vezes":5},{"montante":50.5,"vezes":1},{"montante":70.5,"vezes":2}]

Nele, temos os dados legados de negociações de outro sistema. Nele, não há o campo data e os campos quantidade e valor se chamam vezes e montante respectivamente. Nosso cliente disse que podemos usar a data da exportação como data para termos os dados suficientes de uma negociação. É o velho papel de integração entre sistemas. Em suma, nosso objetivo será consumir essa API, criar uma lista adequada de negociações e adicioná-las na tabela que é exibida para o usuário.

Primeiro, vamos adicionar o botão importar em app/index/.html:

<!- app/index.html -->
<!-- código anterior omitido -->
        <button class="btn btn-primary" type="submit">Incluir</button>
        <button id="botao-importa" class="btn btn-primary" type="button">Importar</button>
    </form>
<!-- código posterior omitido -->

Agora, em NegociacaoController, vamos criar o método importarDados que apenas exibe um alerta quando chamado:

// app/ts/controllers/NegociacaoController.ts

    importarDados() {

        alert('oi');

    }

Agora, em app/ts/app.ts vamos associar o clique do botão com a chamada do novo método:

import { NegociacaoController } from './controllers/NegociacaoController';

const controller = new NegociacaoController();
$('.form').submit(controller.adiciona.bind(controller));
$('#botao-importa').click(controller.importarDados.bind(controller));

Perfeito, acessando nossa aplicação, ao clicarmos no novo botão, o alerta é exibido. Agora que temos a estrutura pronta, podemos dar início à importação dos dados da API.

Tirar dúvida Próxima Atividade
ícone TypeScript parte 2: Mais técnicas e boas práticas

TypeScript parte 2: Mais técnicas e boas práticas

100%
Aula04 de 05

API externa e interface

Atividades 1 de 11

  • 01 API externa 05min
  • 02 Consumindo API externa 09min
  • 03 Definindo uma interface para a API 06min
  • 04 API externa
  • 05 Revisando decorators 11min
  • 06 Sobre decorators
  • 07 Isolando o acesso à API em um serviço 09min
  • 08 Interface de função 08min
  • 09 Sobre interface de funções
  • 10 Revisão 03min
  • 11 Consolidando seus conhecimentos

Aulas

Outros Links

Fórum Trocar Curso
Gravatar de Marcos Katsumi Kay

Marcos Katsumi Kay 34.0k xp

Logo da Alura